home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / comm2 / parnet.lha / parnet / test / dump.c < prev    next >
C/C++ Source or Header  |  1993-04-06  |  1KB  |  59 lines

  1. /*
  2.  *  DUMP.C
  3.  *
  4.  *  TALK addr port
  5.  *
  6.  *  Send massive chatter... 4K packets, displays every 16 packets sent
  7.  */
  8.  
  9. #include "defs.h"
  10.  
  11. typedef struct IORequest IOR;
  12.  
  13. Iob iob;
  14. char Buf[4096];
  15.  
  16. int
  17. brk(void)
  18. {
  19.     return(0);
  20. }
  21.  
  22. void
  23. main(ac, av)
  24. int ac;
  25. char *av[];
  26. {
  27.     PORT *port = CreatePort(NULL, 0);
  28.     short i = 0;
  29.  
  30.     onbreak(brk);
  31.     iob.io_Message.mn_ReplyPort = port;
  32.     iob.io_Addr = atoi(av[1]);
  33.     iob.io_Port = atoi(av[2]);
  34.     iob.io_Flags= PRO_DGRAM;
  35.  
  36.     if (OpenDevice("parnet.device", 0, (IOR *)&iob, 0)) {
  37.     printf("Unable to open parnet.device, error %d %d\n", iob.io_Error, iob.io_Actual);
  38.     exit(1);
  39.     }
  40.     printf("Device $%08lx Unit $%08lx\n", iob.io_Device, iob.io_Unit);
  41.     for (;;) {
  42.     if (SetSignal(0, SIGBREAKF_CTRL_C|SIGBREAKF_CTRL_D|SIGBREAKF_CTRL_E|SIGBREAKF_CTRL_F) & SIGBREAKF_CTRL_E)
  43.         break;
  44.     iob.io_Command = CMD_WRITE;
  45.     iob.io_Data    = (APTR)Buf;
  46.     iob.io_Length  = sizeof(Buf);
  47.     DoIO((IOR *)&iob);
  48.     ++i;
  49.     if ((i & 15) == 0)
  50.         printf("%4ldK\n", i * sizeof(Buf) / 1024);
  51.     }
  52.     CloseDevice((IOR *)&iob);
  53.     DeletePort(port);
  54. }
  55.  
  56.  
  57.  
  58.  
  59.